package com.downguys.domain.enums;

/**
 * @author xiyang.qiao
 * @date 2017/1/3 - 20:24
 */
public enum VerifyCodeBizType implements IEnum{

    REGISTER(0, false, 3, 5, 5),

    LOGIN(0, true, 3, 5, 5)

    ;

    /**
     * 构造器
     *
     * @param bizTypeValue      类型值
     * @param needUser          是否需要校验userId，注册不需要校验
     * @param maxGetTimesHour   一小时之内获取验证码的最大值
     * @param maxGetTimesDay    一天内获取验证码的最大值，从开始获取时间开始计算的24小时
     * @param maxCheckTimes     一个验证码获取的最大次数
     */
    private VerifyCodeBizType(
            int bizTypeValue,
            boolean needUser,
            int maxGetTimesHour,
            int maxGetTimesDay,
            int maxCheckTimes){

        this.bizTypeValue = bizTypeValue;
        this.needUser = needUser;
        this.maxGetTimesHour = maxGetTimesHour;
        this.maxGetTimesDay = maxGetTimesDay;
        this.maxCheckTimes = maxCheckTimes;
    }

    /**
     * 验证码值
     */
    private int bizTypeValue;

    /**
     * 是否需要验证码userId，注册不需要，其他类型均需要
     */
    private boolean needUser;

    /**
     * 一小时之内获取验证码的最大次数
     */
    private int maxGetTimesHour;

    /**
     * 24小时，一天之内获取的验证码最大次数
     */
    private int maxGetTimesDay;

    /**
     * 同一个验证码的最大校验次数
     */
    private int maxCheckTimes;



    @Override
    public int getValue() {
        return 0;
    }
}
